#ifndef __map_h__
#define __map_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "collect.h"

#ifndef __IHTMLAreasCollection_FWD_DEFINED__
#define __IHTMLAreasCollection_FWD_DEFINED__
typedef interface IHTMLAreasCollection IHTMLAreasCollection;
#endif     /* __IHTMLAreasCollection_FWD_DEFINED__ */

#ifndef __IHTMLAreasCollection2_FWD_DEFINED__
#define __IHTMLAreasCollection2_FWD_DEFINED__
typedef interface IHTMLAreasCollection2 IHTMLAreasCollection2;
#endif     /* __IHTMLAreasCollection2_FWD_DEFINED__ */

#ifndef __IHTMLAreasCollection3_FWD_DEFINED__
#define __IHTMLAreasCollection3_FWD_DEFINED__
typedef interface IHTMLAreasCollection3 IHTMLAreasCollection3;
#endif     /* __IHTMLAreasCollection3_FWD_DEFINED__ */

#ifndef __IHTMLMapElement_FWD_DEFINED__
#define __IHTMLMapElement_FWD_DEFINED__
typedef interface IHTMLMapElement IHTMLMapElement;
#endif     /* __IHTMLMapElement_FWD_DEFINED__ */

#ifndef __IHTMLAreasCollection_INTERFACE_DEFINED__

#define __IHTMLAreasCollection_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLAreasCollection;


MIDL_INTERFACE("3050f383-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_length(
         /* [in] */ long v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
         /* [out] */ long * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
         /* [out] */ IUnknown* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
            /* [in] */ VARIANT name,/* [in] */ VARIANT index,/* [out] */ IDispatch** pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE tags(
            /* [in] */ VARIANT tagName,/* [out] */ IDispatch** pdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE add(
            /* [in] */ IHTMLElement* element,/* [in] */ VARIANT before) = 0;

    virtual HRESULT STDMETHODCALLTYPE remove(
            /* [in] */ long index) = 0;

};

#endif     /* __IHTMLAreasCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLAreasCollection2_INTERFACE_DEFINED__

#define __IHTMLAreasCollection2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLAreasCollection2;


MIDL_INTERFACE("3050f5ec-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE urns(
            /* [in] */ VARIANT urn,/* [out] */ IDispatch** pdisp) = 0;

};

#endif     /* __IHTMLAreasCollection2_INTERFACE_DEFINED__ */


#ifndef __IHTMLAreasCollection3_INTERFACE_DEFINED__

#define __IHTMLAreasCollection3_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLAreasCollection3;


MIDL_INTERFACE("3050f837-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAreasCollection3 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE namedItem(
            /* [in] */ BSTR name,/* [out] */ IDispatch** pdisp) = 0;

};

#endif     /* __IHTMLAreasCollection3_INTERFACE_DEFINED__ */


#ifndef __IHTMLMapElement_INTERFACE_DEFINED__

#define __IHTMLMapElement_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLMapElement;


MIDL_INTERFACE("3050f266-98b5-11cf-bb82-00aa00bdce0b")
IHTMLMapElement : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_areas(
         /* [out] */ IHTMLAreasCollection* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_name(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
         /* [out] */ BSTR * p) = 0;

};

#endif     /* __IHTMLMapElement_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLAreasCollection;



EXTERN_C const GUID DIID_DispHTMLAreasCollection;


#ifndef _CAreasCollection_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCAreasCollectionlength;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCAreasCollection_newEnum;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAreasCollectiontags;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAreasCollectionitem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAreasCollectionurns;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAreasCollectionnamedItem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAreasCollectionadd;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAreasCollectionremove;

#endif


EXTERN_C const GUID GUID_HTMLMapElement;



EXTERN_C const GUID DIID_DispHTMLMapElement;


#ifndef _CMapElement_PROPDESCS_
EXTERN_C const PROPERTYDESC_CSTR_GETSET s_propdescCMapElementname;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCMapElementareas;

#endif


#endif /*__map_h__*/

